#ifndef CAROBJECT_H
#define CAROBJECT_H

#include "config.h"
#include "mpu6050.h"
#include "wiringPi.h"
#include "softPwm.h"
#include <QTimer>
#include <QObject>


class CarObject : public QObject
{
    Q_OBJECT
public:
    CarObject();
    void hardInit();                    //硬件初始化

    void setPwmMotor_L(int pwm);            // 0- 100
    void setPwmMotor_R(int pwm);            // 0- 100

//    void setDuty_LR	(int direct);           //方向控制舵机    0- 180
//    void setDuty_X();                       //x轴舵机        0- 180
//    void setDuty_Y();                       //y轴舵机        0 - 90

    void setAngleServo_V(int angle);
    void setAngleServo_H(int angle);

//    void setLed(int pwm1,int pwm2);         //设置右侧电灯亮度   0 - 100
//    void setLed_1(int pwm);                 //设置左侧电灯亮度   0 - 100
//    void setLed_2(int pwm);                 //设置右侧电灯亮度   0 - 100
//    void setBeep(bool flag);                //扬声器     0:不响  1:响

    CarData getData();



private slots:
    void onMpu6050Update();
private:
    //QTimer motorOutTime;  //长时间无控制，电机输出需要自动复位为0
    CarData mData;
    MPU6050 mMpu6050;
    QTimer mpu6050Timer;
};


#endif // CAROBJECT_H

